#ifndef __TRAP_H__
#define __TRAP_H__

#include "type.h"

void usertrap(void);

void usertrapret(void);

uint32_t hardwareInterrupt(void);
void intr_off(void);

void intr_on(void);

uint32_t intr_get(void);

void intr_pop(void);

void intr_push(void);

void trapinithart(void);

void kernel_trap(void);
// sstatus
#define SSTATUS_SSP (1L << 8)
#define SSTATUS_SIE (1L << 1)

#define SIE_SEIE (1L << 9)
#define SIE_SSIE (1L << 1)
#define SIE_STIE (1L << 5)
// void uservec(trapFrame_t*);
// void userret(trapFrame_t*);

#endif